[急!]关于C语言编程的,求答案!!

来源:百度知道 编辑:UC知道 时间:2024/05/13 19:33:06
考试题目:
编写程序,要求从键盘上任意输入一个偶数x(范围在20至60之间),编程输出x由哪两个素数相加组成(要求输出显示全部可能的组合,其中1可以算在该题的素数显示范围之内)。若输入的数x超出范围,则显示"Input error!!!"。
程序运行显示要求:
(1)运行程序时要求有必要的输入提示信息,该题程序运行时要求首先显示:
Please input an even number between 20 and 60:
此时可在冒号后输入任意一个数回车,例如输入34
(2)输入符合范围内的数后,显示形式要求如下,例如输入34,则显示:(注意每种组合显示各占一行)
34=3+31
34=5+29
34=11+23
34=17+17
34=23+11
34=29+5
34=31+3
(3)如果输入的数不在规定范围内,比如小于20或者大于60或者不是偶数时要求显示:Input error!!!

sushu(m)
{int i,k;

{
k=m-1;
for(i=2;i<=k;i++)
if (m%i==0)break;
if (i>k)return 1;
else return 0;
}
}
main()
{
int x,m;
clrscr();
printf("Please input an even number between 20 and 60:");
scanf("%d",&x);

if (x%2!=0||x<20||x>60)
printf("Input error!!!\n" );

else{for(m=1;m<=59;m++)
if(x-m>0)
if(sushu(m)==1&&sushu(x-m)==1)
printf("%d=%d+%d\n",x,m,x-m);
}
}

这个吗